home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / tge132 / revision.hst < prev    next >
Text File  |  1994-05-21  |  16KB  |  368 lines

  1.  
  2.                           *** REVISION HISTORY ***
  3.  
  4. This file contains notes regarding changes to TGE since its initial
  5. release.
  6.  
  7.  
  8. Legend:
  9. +    Addition or improvement.
  10. !    Changed feature.
  11. -    Bug fix.
  12. *    New information.
  13.  
  14.  
  15. ---------------------------------------------------------------------------
  16. TGE version 1.32, released Saturday 21 May 1994
  17. ---------------------------------------------------------------------------
  18.  
  19. *    TGE 1.31 reported that trouble existed when using Borland C++ 4.0 with
  20.      the VariableFont class; I speculated that it was due to a linker
  21.      version incompatability.  In fact, the problem occurred with all of
  22.      the C++ portions of TGE, and with all Borland C++ versions back to at
  23.      least 2.0.  The reason for the problem was that I had compiled the
  24.      library with the "Far virtual tables" option disabled, while some
  25.      users had this option enabled; why this option should have any effect
  26.      when TGE has no virtual functions is beyond me, but it does.  It is
  27.      also important to have the "Unsigned characters" option disabled, or
  28.      to cast all parameters to the font load() routines to signed char.
  29.  
  30. +    Added the getVertLine(), putVertLine(), and putVertLineInv()
  31.      functions; they are vertically-oriented versions of getLine(),
  32.      putLine(), and putLineInv().  To eliminate version incompatibility,
  33.      the getLine() function from earlier versions can now be called as
  34.      either getLine() or getHorizLine(), putLine() as either putLine() or
  35.      putHorizLine(), and putLineInv() as either putLineInv() or
  36.      putHorizLineInv().  Registered users may disable these new vertical
  37.      line functions by commenting out the TGE_USE_PUTVERTLINE #define in
  38.      the TGE.H file, then recompiling the library so these unused functions
  39.      will not occupy memory.
  40.  
  41. +    Fixed-sized fonts can now be loaded using a call to the new FixedFont
  42.      member function load(), as with the VariableFont class.  The older and
  43.      considerably more obnoxious method of loading through the class
  44.      constructor is still supported, but is no longer documented.
  45.  
  46. +    colourCloseTo(), colourCloseToX(), and MAXCOLOUR now have the synonyms
  47.      colorCloseTo(), colorCloseToX(), and MAXCOLOR, respectively, as a
  48.      courtesy to TGE users in the USA.
  49.  
  50. -    TGEDEMO would always look for ..\FONTS\BIGTEXT.FNT, regardless of the
  51.      value of the TGEFONTS environment variable.  Fixed.
  52.  
  53. +    Added the promotePalette() and demotePalette() functions, to make
  54.      dealing with 6-bit palettes easier.
  55.  
  56. +    Added the saveRawFile() function, so that TGE can now save as well as
  57.      load image files.
  58.  
  59.  
  60. ---------------------------------------------------------------------------
  61. TGE version 1.31, released Saturday 05 March 1994
  62. ---------------------------------------------------------------------------
  63.  
  64. +    Added the QUICKREF.DOC file.
  65.  
  66. !    Renamed the clipFilledRect() function to clipRect().
  67.  
  68. !    Renamed TGEFONT.CPP to FIXFONT.CPP and TGE.C to TGEFUNCS.C.
  69.  
  70. +    Registered users can now save up to about 22 kb of memory by
  71.      selectively commenting out a few #defines in TGE.H and compiling the
  72.      TGE library.  Following is a list of symbols and the features they
  73.      disable when they're not #defined:
  74.           TGE_USE_VIRTUAL_SCREENS       Virtual screen support
  75.           TGE_USE_OUTPUT_MODES          Output mode support
  76.           TGE_USE_REGION_FILLS          fillRegion()
  77.           TGE_USE_IMAGES                Bitmap-related functions
  78.           TGE_USE_ELLIPSES              ellipse- and circle-drawing
  79.           TGE_USE_COLOUR_APPROXIMATION  colourCloseTo() and
  80.                                         colourCloseToX()
  81.      The source for the disabled features is simply not compiled, and so
  82.      does not waste space in the executable or in memory.
  83.  
  84. -    Fixed a bug in setPaletteReg() and getPaletteReg() which caused the
  85.      two functions to confuse the green and blue colour components.  This
  86.      problem only showed itself in custom drivers which did not have
  87.      assembly versions of these routines.
  88.  
  89. -    imageSize() now clips to within the current input viewport, rather
  90.      than the output viewport.
  91.  
  92. -    Fixed a bug in TGEFUNCS.C's putImageInv() routine which would, under
  93.      very rare circumstances, cause the image to be output one line too low
  94.      down.
  95.  
  96. -    Fixed a bug in VARFONT.CPP which would cause VariableFont to become
  97.      confused when dealing with characters whose ASCII values were 128 or
  98.      higher.  Sometimes this confusion led to machine crashes.
  99.  
  100. +    Added some frequently used high-ASCII characters (ie. the lower-case
  101.      letters with accents on them) to BIGTEXT.FNT.
  102.  
  103. +    Added ANGULAR.FNT, a variable-sized font.  This font is available in
  104.      the registered version only.
  105.  
  106. *    Files which are not included in the shareware version of TGE are no
  107.      longer listed in the PACKING LIST section of TGE.DOC; they were marked
  108.      as present in the registered version only, but there was some
  109.      confusion anyway.
  110.  
  111. -    Fixed a bug in TGESETUP.C's TGE_loadFile() function.  If the file
  112.      FILE.EXT existed in the current directory, and TGE_loadFile was called
  113.      to load "FILE" with the assumed extension ".EXT", then the file would
  114.      not be found.
  115.  
  116. -    TGE no longer directly supports Chips & Tech SVGAs, as the support in
  117.      previous versions was buggy.  TGE will still support Chips & Tech
  118.      cards through VESA BIOS extensions, such as those provided by the
  119.      Universal VESA TSR.
  120.  
  121. *    Rewrote REGISTER.FRM, and renamed it to ORDER.FRM.
  122.  
  123.  
  124. ---------------------------------------------------------------------------
  125. TGE version 1.30, released Wednesday 05 January 1994
  126. ---------------------------------------------------------------------------
  127.  
  128. +    While debugging an application, I changed the 320x200 driver's
  129.      putLine() routine from the 32-bit code I'd recently written to a
  130.      slower byte-by-byte copying; I completely forgot to change it back
  131.      until after I'd released TGE 1.29ßD.
  132.  
  133. -    Fixed a problem in NEWMOUSE.ASM which caused the mouse sensitivity to
  134.      be incorrectly handled.
  135.  
  136. +    Added the PALETTE.C file, which contains the palette manipulation
  137.      routines fadePalette(), greyPalette(), rotatePalette().
  138.  
  139. +    Added the RAWFILE.C file, which contains the loadRawFile(),
  140.      displayRawFile(), and loadPalFile() routines.
  141.  
  142. +    Added the PCXFILE.C file, which contains the loadPcxFile(),
  143.      displayPcxFile(), and loadPcxFilePal() routines.
  144.  
  145. +    scaleBitmap() can now allocate memory for the scaled image, if
  146.      specified.
  147.  
  148. +    PCX2RAW now accepts wildcard filespecs, such as 'PCX2RAW pic*'.
  149.  
  150. -    Fixed a bug in NEWMOUSE.ASM which caused the minimum limits set by
  151.      setHorizLimitsMouse() and setVertLimitsMouse() to be ignored.
  152.  
  153. +    Added support for 256-colour fonts with characters of varying sizes,
  154.      by adding VARFONT.CPP.  A sample 256-colour font file, BIGTEXT.FNT, is
  155.      included.
  156.  
  157. +    Added MAKEFONT, a utility to create 256-colour fonts.  This utility is
  158.      in the TGE\UTIL directory.
  159.  
  160. !    Added the INCLUDE, DRIVERS, FONTS, and DEMO directories within \TGE,
  161.      and renamed the PCX2RAW directory to UTIL.  All drivers have been
  162.      moved to the DRIVERS directory; all fonts have been moved to the FONTS
  163.      directory; the demo program has been moved to the DEMO directory.
  164.  
  165. +    TGE now uses the environment variables TGEDRIVERS and TGEFONTS.  Now,
  166.      when loading drivers, if the specified driver file cannot be opened,
  167.      TGE will attempt to open it from the directory specified by the
  168.      TGEDRIVERS variable; similarly, loading fonts can be done
  169.      automatically from the directory specified by the TGEFONTS variable.
  170.  
  171. +    Added the Universal VESA TSR ("UNIVESA"), by Kendall Bennett, to the
  172.      TGE distribution package.  UNIVESA was not written by the author of
  173.      TGE, but is included with the TGE package as a courtesy to those
  174.      without VESA BIOS drivers for their SuperVGA cards.  It may also be of
  175.      use to TGE software developers, who are allowed to distribute UNIVESA
  176.      with their programs free of charge, so long as UNIVESA remains
  177.      unmodified.
  178.  
  179. -    TGE no longer directly supports Cirrus or Paradise SVGAs, as the
  180.      support in previous versions was buggy.  TGE will still support Cirrus
  181.      and Paradise cards through VESA BIOS extensions, such as those
  182.      provided by the Universal VESA TSR.
  183.  
  184. !    There are now two versions of TGE:  the shareware version and the
  185.      registered version.  The shareware version differs from the registered
  186.      version in that the source code is not included.
  187.  
  188. !    Renamed the Font class to FixedFont.  Some FixedFont member functions
  189.      have also been renamed; the changes are listed below, with the old
  190.      names on the left and the new names on the right:
  191.                wide                     width
  192.                maxWide                  maxWidth
  193.                deep                     height
  194.                maxDeep                  maxHeight
  195.      These changes were made because the old names were not as clear as the
  196.      new ones.  I apologize for any inconvenience these changes may cause.
  197.  
  198. +    Added the imageWidth() and imageDepth() routines, which are really
  199.      macros implemented in TGE.H.
  200.  
  201. !    Removed MAKELIB.BAT and TGE.LIB.  These files have been replaced with
  202.      BCL.LIB (Borland C++ large model), BCL.MAK (makefile for BCL.LIB),
  203.      BCH.LIB (Borland C++ huge model), and BCH.MAK (makefile for BCH.LIB).
  204.      Rather than using MAKELIB.BAT, these libraries may be generated by
  205.      running 'MAKE -fbcl.mak' or 'MAKE -fbch.mak'.
  206.  
  207.  
  208. ---------------------------------------------------------------------------
  209. TGE version 1.29ßD (public beta), released Saturday 11 September 1993
  210. ---------------------------------------------------------------------------
  211.  
  212. +    Fonts are now stored in memory in bit-image format, and converted on
  213.      the fly to byte-image format for display using putImageInv().  Font
  214.      speed is marginally degraded, but memory requirements for fonts are
  215.      significantly lowered.
  216.  
  217. -    The phone number to call to download the newest version of TGE has
  218.      been changed to the correct number.  Sorry about that...
  219.  
  220. -    TGE's assembler files will now assemble correctly with Turbo Assembler
  221.      version 3.0, and presumably with newer versions as well.
  222.  
  223. *    Moved the revision history from TGE.DOC to this file.
  224.  
  225. +    Added the clipInputPoint() and clipOutputPoint() macros for clipping
  226.      of points to either the input or the output viewport.
  227.  
  228. +    Added makefiles for TGEDEMO.EXE and TGE.LIB:  TGEDEMO.MAK and
  229.      TGELIB.MAK, respectively.  (TGELIB.MAK requires TGELIB.LST.)
  230.  
  231. +    Added an optimized assembler putLineInv_mem_copy routine to each of
  232.      the drivers.  This change will greatly speed up putImageInv()'s output
  233.      to virtual screens.
  234.  
  235. -    When outputting to a virtual screen using the 800x600 driver,
  236.      horizLine() will no longer erroneously output to the physical screen
  237.      rather than the virtual screen.
  238.  
  239. +    Moved a good deal of setup and initialization code from TGE.C to a new
  240.      file, TGESETUP.C.  If overlays are being used, TGESETUP.C can be
  241.      overlaid so that it won't need to be in memory at all times, freeing
  242.      up about 15 kb of memory.  TGE.C should not be overlaid under most
  243.      circumstances so that it performs at maximum speed.
  244.  
  245. +    Moved all of TGE into a single archive with sub-directories, rather
  246.      than the main archive and a separate archive within it for each
  247.      directory.  TGE129D.ARJ will need to be extracted with a procedure
  248.      similar to this:
  249.           md d:\tge
  250.           arj x tge129d d:\tge
  251.  
  252. -    TGE.DOC contained incorrect names for setGraphicsAddr(),
  253.      setGraphicsInputAddr(), and setGraphicsOutputAddr() functions, and did
  254.      not document getGraphicsInputAddr() or getGraphicsOutputAddr() at all.
  255.  
  256. !    Renamed setOutputMode() to setGraphicsOutputMode().
  257.  
  258. -    When run without a Microsoft or compatable mouse driver loaded,
  259.      TGEDEMO would display the sign-off screens twice upon exit.  Fixed.
  260.  
  261. -    The 320x240, 320x400, and 360x480 drivers did not preserve the value
  262.      of the DI register when clearGraphics() was called.  Fixed.
  263.  
  264. +    The drivers now use 32-bit 386 code in many more places, boosting
  265.      speed a bit.
  266.  
  267. +    Optimized the putPixel() code in the 320x240, 320x400, and 360x480
  268.      drivers.
  269.  
  270. +    Added the LIB directory, in which there is now a MAKELIB.BAT file to
  271.      automatically build TGE.LIB with your compiler.  There is also a copy
  272.      of TGE.LIB, built from OBJ files produced by Borland C++ 2.0 and Turbo
  273.      Assembler 3.0.
  274.  
  275. +    Fixed a bug in NEWMOUSE.ASM which would sometimes cause the wrong
  276.      memory areas to be used as the pointer image.
  277.  
  278.  
  279. ---------------------------------------------------------------------------
  280. TGE version 1.29ßC (public beta), released Friday 20 August 1993
  281. ---------------------------------------------------------------------------
  282.  
  283. +    Added support for virtual screens.
  284.  
  285. +    Added support for graphics output using COPY, AND, NOT, OR, and XOR,
  286.      even to virtual screens.
  287.  
  288. +    TGE can now output to and input from different places.  For example,
  289.      it is possible to use a virtual screen for its input whilst using the
  290.      real screen for its output, or vice-versa.  There are now separate
  291.      input and an output viewports.
  292.  
  293. +    Added the virtual coordinate system, via VCOORD.H.
  294.  
  295. -    Fixed a bug in NEWMOUSE.ASM which would, under rare circumstances,
  296.      corrupt portions of the screen.
  297.  
  298. !    To avoid memory problems, the palette is no longer saved/restored
  299.      automatically during text/graphics mode switches.
  300.  
  301. !    setBlockPalette() and getBlockPalette() are now no longer called with
  302.      the first register and the number of registers to change, but with the
  303.      first register and the last register.  This change could make some
  304.      future changes easier.
  305.  
  306. +    Improved documentation, describing the font file structure and how to
  307.      use the PCX2RAW utility and its output.
  308.  
  309. +    TGE can now scale bitmaps, using the scaleBitmap() function.
  310.  
  311. +    Added the imageSizeDim(), putLineInv(), and vertLine() functions.
  312.  
  313. -    Fixed a horrible SVGA bug which caused TGE to work incorrectly on all
  314.      SVGAs with bank sizes other than 64K.
  315.  
  316.  
  317. ---------------------------------------------------------------------------
  318. TGE version 1.20, released Wednesday 05 May 1993
  319. ---------------------------------------------------------------------------
  320.  
  321. +    Added support for loadable fonts, viewports, colour approximation, and
  322.      region fills.
  323.  
  324. !    Rewrote the loadGraphDriver() function; it now returns more
  325.      descriptive values.
  326.  
  327. +    Added various clipping routines:  clipLine() and clipFilledRect() in
  328.      CLIP.C, and clipPoint() and pointOnScreen() as macros in TGE.H.
  329.  
  330. -    Fixed aspect ratio problem in 360x480 driver.
  331.  
  332. -    Fixed bug in the 800x600 driver when run with the Trident 8900
  333.      chipset.
  334.  
  335. +    Added the REGISTER.FRM file.
  336.  
  337.  
  338. ---------------------------------------------------------------------------
  339. TGE version 1.10, released Friday 12 April 1993
  340. ---------------------------------------------------------------------------
  341.  
  342. -    Improved and debugged SuperVGA support.  Bugs squashed include the
  343.      infamous Trident and Oak bugs.
  344.  
  345. +    Added drivers for VGA 360x480 and SuperVGA 1024x768.
  346.  
  347. +    Added interrupt-driven definable mouse pointer services, as well as
  348.      miscellaneous mouse routines.
  349.  
  350. -    Fixed default palette routines to do translation between 6-bit and
  351.      8-bit values.
  352.  
  353. +    Added ellipse(), filledEllipse(), circle(), and filledCircle().
  354.  
  355. +    Added PCX2RAW, a utility to convert 256-colour PCX files into raw
  356.      bitmap and raw palette files, making importing graphics easy.
  357.  
  358.  
  359. ---------------------------------------------------------------------------
  360. TGE version 1.01, released Saturday 23 January 1993
  361. ---------------------------------------------------------------------------
  362.  
  363. *    First public release.
  364.  
  365.  
  366.  
  367. End of document.
  368.